package cn.edu.zafu.bigdata.zyf;

interface Movable {
    void move(); // 表示物体移动
    void stop(); // 表示物体停止移动
}
interface Resizable {
    void resize(double factor); // 根据因子进行缩放
}
class Car1 implements Movable {
    @Override
    public void move() {
        System.out.println("The car is moving.");
    }

    @Override
    public void stop() {
        System.out.println("The car has stopped.");
    }
}
class ResizableCircle implements Movable, Resizable {
    private double radius; // 半径

    public ResizableCircle(double radius) {
        this.radius = radius;
    }

    @Override
    public void move() {
        System.out.println("The circle is moving.");
    }

    @Override
    public void stop() {
        System.out.println("The circle has stopped.");
    }

    @Override
    public void resize(double factor) {
        radius *= factor; // 修改半径
        System.out.println("Scaled radius: " + radius);
    }
}

public class TestInterface {
    public static void main(String[] args) {
        // 创建 Car1 和 ResizableCircle 的实例
        Movable car1 = new Car1();
        ResizableCircle circle = new ResizableCircle(5.0);

        // 验证 Car1 对接口方法的实现
        car1.move();
        car1.stop();

        System.out.println(); // 空行分隔输出

        // 验证 ResizableCircle 对接口方法的实现
        circle.move();
        circle.stop();

        // 调用 resize 方法
        circle.resize(2.0); // 缩放因子为 2.0
    }
}